package only.level5.railgun.ysartifactsimulation.Bean;

import java.util.List;

public class CharacterScene {
    Double hp = 0D;
    Integer level = 1;
    Double hp_ex = 0D;
    Double atk = 0D;
    Double atk_ex = 0D;
    Double critRate = 0D;
    Double critDmg = 0D;
    Double defense = 0D;
    Double defense_ex = 0D;
    Double healingBonus = 0D;
    Double increase = 0D;
    Double recharge = 0D;
    Double skillDmg = 0D;
    Integer mastery = 0;
    int weapon;
    int weaponRefineLevel;
    // 减抗
    Double resistance = 0D;
    // 反应系数
    Double reaction = 1D;
    // 反应系数提升
    Double reactionIncrease = 0D;
    int maxDmg = 0;
    int expectedDmg = 0;
    List<double[]> sceneArts = null;

    public Double getHp() {
        return hp;
    }

    public void setHp(Double hp) {
        this.hp = hp;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Double getHp_ex() {
        return hp_ex;
    }

    public void setHp_ex(Double hp_ex) {
        this.hp_ex = hp_ex;
    }

    public Double getAtk() {
        return atk;
    }

    public void setAtk(Double atk) {
        this.atk = atk;
    }

    public Double getAtk_ex() {
        return atk_ex;
    }

    public void setAtk_ex(Double atk_ex) {
        this.atk_ex = atk_ex;
    }

    public Double getCritRate() {
        return critRate;
    }

    public void setCritRate(Double critRate) {
        this.critRate = critRate;
    }

    public Double getCritDmg() {
        return critDmg;
    }

    public void setCritDmg(Double critDmg) {
        this.critDmg = critDmg;
    }

    public Double getDefense() {
        return defense;
    }

    public void setDefense(Double defense) {
        this.defense = defense;
    }

    public Double getDefense_ex() {
        return defense_ex;
    }

    public void setDefense_ex(Double defense_ex) {
        this.defense_ex = defense_ex;
    }

    public Double getHealingBonus() {
        return healingBonus;
    }

    public void setHealingBonus(Double healingBonus) {
        this.healingBonus = healingBonus;
    }

    public Double getIncrease() {
        return increase;
    }

    public void setIncrease(Double increase) {
        this.increase = increase;
    }

    public Double getRecharge() {
        return recharge;
    }

    public void setRecharge(Double recharge) {
        this.recharge = recharge;
    }

    public Double getSkillDmg() {
        return skillDmg;
    }

    public void setSkillDmg(Double skillDmg) {
        this.skillDmg = skillDmg;
    }

    public Double getResistance() {
        return resistance;
    }

    public void setResistance(Double resistance) {
        this.resistance = resistance;
    }

    public Double getReaction() {
        return reaction;
    }

    public void setReaction(Double reaction) {
        this.reaction = reaction;
    }

    public Double getReactionIncrease() {
        return reactionIncrease;
    }

    public void setReactionIncrease(Double reactionIncrease) {
        this.reactionIncrease = reactionIncrease;
    }

    public Integer getMastery() {
        return mastery;
    }

    public void setMastery(Integer mastery) {
        this.mastery = mastery;
    }

    public int getWeapon() {
        return weapon;
    }

    public void setWeapon(int weapon) {
        this.weapon = weapon;
    }

    public int getWeaponRefineLevel() {
        return weaponRefineLevel;
    }

    public void setWeaponRefineLevel(int weaponRefineLevel) {
        this.weaponRefineLevel = weaponRefineLevel;
    }

    public void addHp(Double hp0) {
        this.hp_ex = hp_ex + hp0;
    }

    public void addAtk(Double atk0) {
        this.atk_ex = atk_ex + atk * atk0;
    }

    public void addCritDmg(Double critDmg) {
        this.critDmg = this.critDmg + critDmg;
    }

    public void addCritRate(Double critRate) {
        this.critRate = this.critRate + critRate;
    }

    public void addIncrease(double increase0) {
        this.increase = this.increase + increase0;
    }

    public List<double[]> getSceneArts() {
        return sceneArts;
    }

    public void setSceneArts(List<double[]> sceneArts) {
        this.sceneArts = sceneArts;
    }

    public int getMaxDmg() {
        return maxDmg;
    }

    public void setMaxDmg(int maxDmg) {
        this.maxDmg = maxDmg;
    }

    public int getExpectedDmg() {
        return expectedDmg;
    }

    public void setExpectedDmg(int expectedDmg) {
        this.expectedDmg = expectedDmg;
    }

    @Override
    public String toString() {
        return "CharacterScene{" +
                "hp=" + hp +
                ", hp_ex=" + hp_ex +
                ", atk=" + atk +
                ", atk_ex=" + atk_ex +
                ", critRate=" + critRate +
                ", critDmg=" + critDmg +
                ", increase=" + increase +
                ", skillDmg=" + skillDmg +
                ", mastery=" + mastery +
                ", reaction=" + reaction +
                ", reactionIncrease=" + reactionIncrease +
                '}';
    }
}
